package com.ss.jdk.anno;

import org.ietf.jgss.Oid;

/**
 * @Auther: ljy.s
 * @Date: 2022/9/11 - 09 - 11 - 22:02
 */
@MyAnnotation("test01")
@MyAnnotation("test02")
@MyAnnotation("test03")
public class AnnotationTest01 {

    @MyAnnotation("fun1")
    @MyAnnotation("fun2")
    public void test02() {

    }

    /**
     * 解析重复注解
     * @param args
     */
    public static void main(String[] args) throws NoSuchMethodException {
        // 获取类中标注的重复注解
        MyAnnotation[] annotationsByType = AnnotationTest01.class.getAnnotationsByType(MyAnnotation.class);
        for (MyAnnotation myAnnotation : annotationsByType) {
            System.out.println(myAnnotation.value());
        }

        // 获取方法上标的重复注解
        MyAnnotation[] test01s = AnnotationTest01.class.getMethod("test02")
                .getAnnotationsByType(MyAnnotation.class);
        for (MyAnnotation test01 : test01s) {
            System.out.println(test01.value());
        }
    }
}
